package com.hcss.common.util;

import java.util.Map;

import com.alibaba.fastjson.JSON;

/**
 * @desc JSON转换工具
 * @author maxiaoming
 * @date 2018年7月5日 下午1:48:33
 * @company 浙江鸿程计算机系统有限公司 
 */
public class JSONUtil {
	/**
	 * obj转String
	 * @param obj
	 * @return
	 * @throws Exception
	 */
	public static String obj2json(Object obj) throws Exception {
		return JSON.toJSONString(obj);
	}

	/**
	 * String转obj
	 * @param jsonStr
	 * @param clazz
	 * @return
	 * @throws Exception
	 */
	public static <T> T json2obj(String jsonStr, Class<T> clazz) throws Exception {
		return JSON.parseObject(jsonStr, clazz);
	}

	/**
	 * jsonStr转map
	 * @param jsonStr
	 * @return
	 * @throws Exception
	 */
	public static <T> Map<String, Object> json2map(String jsonStr) throws Exception {
		return JSON.parseObject(jsonStr, Map.class);
	}

	/**
	 * map转obj
	 * @param map
	 * @param clazz
	 * @return
	 * @throws Exception
	 */
	public static <T> T map2obj(Map<?, ?> map, Class<T> clazz) throws Exception {
		return JSON.parseObject(JSON.toJSONString(map), clazz);
	}
}
